logo头像

内行看门道,外行看人行道~

iOS 右滑返回失效问题终极解决方案

iOS 的右滑返回是必不可少的一项功能,否则用户体验会大打折扣,但是会经常会碰到某些页面右滑返回失效的情况,下面记录一下解决各种情况下右滑返回失效的方法:

1. 自定义返回按钮

如果页面上是自定义的返回按钮,那在viewDidLoad中加上下面这句话就可以:

1
2
3
4
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}

如果想禁止右滑返回,那么需要在

1
2
3
4
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.navigationController.interactivePopGestureRecognizer setEnabled:NO];
}

2. 在UIScrollview中失效

关于以UIScrollview为基类的控件:UITableView、UICollectionview、UIScrollview、UIwebview 等,在界面的最上面加个view,可完美解决一切关于右滑返回的手势冲突,如下:

1
2
3
UIView *leftPanView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 20, [UIScreen mainScreen].bounds.size.height)];
leftPanView.backgroundColor = [UIColor clearColor];
[self.view addSubview:leftPanView];

记得把view的颜色设置为透明~

界面如下:

在这里插入图片描述

觉得好用的老铁记得点个赞哦~

微信打赏

赞赏是不耍流氓的鼓励